package com.itheima;

import java.util.Collections;
import java.util.Comparator;
import java.util.TreeSet;

/**
 * 2025/5/20 15:05
 */
public class TreeSetDemo {
    public static void main(String[] args) {
        int result = sum(1, 2, 3, 4, 5);
        System.out.println(result);
    }

    //ctrl+alt+m，将选中的代码抽取到一个方法中
    private static void test0() {
        //集合只能存储引用数据类型
        TreeSet<Integer> set1 = new TreeSet<>();
        //1---》包装成Integer对象---》自动装箱
        set1.add(5);
        set1.add(3);
        set1.add(4);
        set1.add(2);
        set1.add(1);
        for (Integer integer : set1) {
            System.out.println(integer);
        }
//        System.out.println(set1);
    }

    public static void test1() {
        TreeSet<Student> set = new TreeSet<>();
        set.add(new Student("郑巧", 22));
        set.add(new Student("罗燕妮", 21));
        set.add(new Student("罗欢", 19));
        set.add(new Student("罗杨", 20));

        for (Student student : set) {
            System.out.println(student.getName() + "---" + student.getAge());
        }

    }

    public static void test2() {
        /*Comparator<Student> comparator = new Comparator<Student>() {
            @Override
            public int compare(Student o1, Student o2) {
                //如果是正序排，则让o1 -  o2
                //如果是倒序排，则让o2 - o1
                return o1.getAge() - o2.getAge();
            }
        };*/
        Comparator<Student> comparator = (o1, o2) -> o1.getAge() - o2.getAge();//函数式编程
        TreeSet<Student> set = new TreeSet<>(comparator);
        set.add(new Student("郑巧", 22));
        set.add(new Student("罗燕妮", 21));
        set.add(new Student("罗欢", 19));
        set.add(new Student("罗杨", 20));

        for (Student student : set) {
            System.out.println(student.getName() + "---" + student.getAge());
        }
    }

    //可变参数必须是形参的最后一个
    public static int sum(int... a) {

        int total = 0;
        for (int i = 0; i < a.length; i++) {
            total += a[i];
        }
        return total;
    }


}
